package 集合;

import java.util.*;

public class 单列集合 {
    public static void main(String[] args) {
        Collection<String> jh = new ArrayList<>();
        jh.add("euryg");
        jh.add("wq");
        jh.add("wq");
        jh.add("rgr");
        System.out.println(jh.contains("rgr"));
//        如果有多个重复元素,默认删除第一个
        jh.remove("wq");
//        String[] array = (String[]) jh.toArray();
        //把集合1的元素全部倒入集合2
        Collection<String> jh2 = new ArrayList<>();
        jh2.addAll(jh);
//        也可以这样写
//        Collection<String> jh2 = new ArrayList<>(jh);
//        迭代器便利
        Iterator<String> iterator = jh2.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
//        lambda便利
        jh2.forEach(System.out::println);
        Queue<String> jh3 = new LinkedList<>();
        jh3.addAll(jh2);
        jh3.add("rgri");
        System.out.println(jh3.peek());
        Stack<String> jh4 = new Stack<>();
        jh4.addAll(jh2);
        jh4.push("rgri");
        System.out.println(jh4.peek());
//        linkedhashset能维持插入顺序,hashset不能
        Set<String> jh5=new LinkedHashSet<>();
        jh5.add("erger");
        jh5.add("her");
        jh5.add("ergher");
        jh5.add("erhaerh");
        Set<Integer> st=new TreeSet<>((o1,o2)->o2-o1);
        st.add(2);
        st.add(0);
        st.add(4);
        st.add(1);
        for(Integer i:st){
            System.out.println(i);
        }
    }
}
